#include "BindingHeader.hpp"

void Bind_SmallElements(lua_State* l)
{
	using namespace luabind;
	using namespace CEGUI;

	module(l,"Cegui")
		[	
			class_<Tooltip,Window>("Tooltip")
			.property("TargetWindow",&Tooltip::getTargetWindow,&Tooltip::setTargetWindow)
			.property("HoverTime",&Tooltip::getHoverTime,&Tooltip::setHoverTime)
			.property("DisplayTime",&Tooltip::getDisplayTime,&Tooltip::setDisplayTime)
			.property("FadeTime",&Tooltip::getFadeTime,&Tooltip::setFadeTime)
			.property("TextSize",&Tooltip::getTextSize)
			.def("resetTimer",&Tooltip::resetTimer)	
			.CASTER(Window,Tooltip)
			,
			class_<ButtonBase,Window>("ButtonBase")
			.def("Hovering",&ButtonBase::isHovering)
			.def("Pushed",&ButtonBase::isPushed)	
			.CASTER(Window,ButtonBase)
			,
			class_<PushButton,ButtonBase>("PushButton")			
			.CASTER(ButtonBase,PushButton)
			,
			class_<Checkbox,ButtonBase>("Checkbox")
			.property("Selected",&Checkbox::isSelected,&Checkbox::setSelected)
			.CASTER(ButtonBase,Checkbox)
			,
			class_<RadioButton,ButtonBase>("RadioButton")
			.property("Selected",&RadioButton::isSelected,&RadioButton::setSelected)
			.property("GroupID",&RadioButton::getGroupID,&RadioButton::setGroupID)
			.property("SelectedButtonInGroup",&RadioButton::getSelectedButtonInGroup)
			.CASTER(ButtonBase,RadioButton)
			,
			class_<TabButton,ButtonBase>("TabButton")
			.property("Selected",&TabButton::isSelected,&TabButton::setSelected)
			.property("TargetWindow",&TabButton::getTargetWindow,&TabButton::setTargetWindow)
			.CASTER(ButtonBase,TabButton)
			,
			class_<ClippedContainer,Window>("ClippedContainer")
			.property("ClipArea",&ClippedContainer::getClipArea,&ClippedContainer::setClipArea)
			.property("ClipperWindow",&ClippedContainer::getClipperWindow,&ClippedContainer::setClipperWindow)
			.property("UnclippedInnerRect",&ClippedContainer::getUnclippedInnerRect_impl)
			.CASTER(Window,ClippedContainer)
		];
}